import logging

# 设置日志记录级别和格式
logging.basicConfig(level=logging.INFO,  # 可以改为DEBUG, WARNING, ERROR等
                    format='%(asctime)s - %(levelname)s - %(message)s',
                    filename='app.log',  # 日志文件名
                    filemode='w')  # 文件模式，'w'表示覆盖（重写）

# 创建一个logger实例
logger = logging.getLogger(__name__)
logger.info('This is an info message.')
logger.warning('A warning has occurred.')
logger.error('An error happened.')

# 控制台输出
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.WARNING)  # 显示警告及以上级别
formatter = logging.Formatter('%(levelname)s - %(message)s')
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)

# 如果你想在控制台也看到info级别，可以移除这行，或将level设为INFO
# logger.addHandler(console_handler)